import {reroute} from '../navigation/reroute.js'
import { NOT_LOADED} from './app.helpers.js'
/**
 *
 * @param {*} appName 应用名称
 * @param {*} loadApp 应用的加载函数，此函数会返回bootstrap, mount, unmouont
 * @param {*} activeWhen 当前什么时候激活 location => location.hash === "#/a"
 * @param {*} custom 用户的自定义参数
 */
export const apps = []; //存放所有的应用
export function registerApplication(appName, loadApp, activeWhen, customProps) {
  const registertion = {
    name: appName,
    loadApp,
    activeWhen,
    customProps,
    status: NOT_LOADED
  };
  apps.push(registertion); //保存到数组中，后续可以在数组中筛选需要的app是加载、卸载或挂载
  console.log('apps', apps);

  // 注册完毕后，加载应用
  reroute(); //重写路径，后续切换路由，要再次做这些事，single-spa的核心
}
